// XortSettingsDlg.h : Declaration of the CXortSettingsDlg

#pragma once

#include "resource.h"       // main symbols

// CXortSettingsDlg
class CXortSettingsDlg : 
	public CAxDialogImpl<CXortSettingsDlg>
{
public:
	CXortSettingsDlg();
	virtual ~CXortSettingsDlg();

	enum { IDD = IDD_XORTSETTINGSDLG };

    CString GetProgramPath() const { return m_csXClPath; }
    CString GetArguments() const { return m_csXVMPath; }
    CString GetDebuggerPath() const { return m_csDBGPath; }

BEGIN_MSG_MAP(CXortSettingsDlg)
	MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
	COMMAND_HANDLER(IDOK, BN_CLICKED, OnClickedOK)
	COMMAND_HANDLER(IDCANCEL, BN_CLICKED, OnClickedCancel)
	CHAIN_MSG_MAP(CAxDialogImpl<CXortSettingsDlg>)
    COMMAND_HANDLER(IDC_XCL_PATH_BTN, BN_CLICKED, OnBnClickedXclPathBtn)
    COMMAND_HANDLER(IDC_XVM_PATH_BTN, BN_CLICKED, OnBnClickedXvmPathBtn)
    COMMAND_HANDLER(IDC_BTN_BROWSE_DBG, BN_CLICKED, OnBnClickedXdbPathBtn)
END_MSG_MAP()

// Handler prototypes:
//  LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
//  LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
//  LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);

	LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
	LRESULT OnClickedOK(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
	LRESULT OnClickedCancel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
    LRESULT OnBnClickedXclPathBtn(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
    LRESULT OnBnClickedXvmPathBtn(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
    LRESULT OnBnClickedXdbPathBtn(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);

private:
    CString  ShowOFN( BOOL bXRT );
    CString  m_szINIPath;
    CString  m_csXClPath;
    CString  m_csXVMPath;
    CString  m_csDBGPath;
    CString  m_csProgPath;
};


